﻿using System;
using System.Collections;
using System.Collections.Generic;

namespace QPEngine
{
    public class AppInstallConfiger
    {
        public string installTime = string.Empty;

        public string installVersion = string.Empty;

        public int updateVersion = 0;
    }


    public class UpdateConfiger
    {
        public string AuthCode { get; set; }
        public int Version { get; set; }
        public string Extend { get; set; }
        public string UpdateUrl { get; set; }
        public string[] AuditPak { get; set; }
        public BaseValueConfigerJson[] JsonData { get; set; }
    }
    public class ValueConfiger
    {
        public string AuthCode { get; set; }
        public int Version { get; set; }
        public string Extend { get; set; }
        public Dictionary<string, BaseValueConfigerJson> JsonData { get; set; }
        public BaseValueConfigerJson GetValue(string k)
        {
            if (JsonData.Count == 0) { return null; }
            if (!JsonData.ContainsKey(k)) { return null; }
            return JsonData[k];
        }
        public int Count()
        {
            return JsonData.Count;
        }
        public void Remove(string k)
        {
            if (!JsonData.ContainsKey(k)) { return; }
            JsonData.Remove(k);
        }
        public void Add(string k, BaseValueConfigerJson v)
        {
            if (JsonData.ContainsKey(k)) { this.Remove(k); }
            JsonData.Add(k, v);
        }
        public void Add(BaseValueConfigerJson[] data)
        {
            foreach (var item in data)
            {
                Add(item.name, item);
            }
        }
    }
    public class AppInfoConfiger
    {
        public string AuthCode { get; set; }
        public int Version { get; set; }
        public bool CloseGame { get; set; }
        public string CloseHit { get; set; }
        public string QQ1 { get; set; }
        public string QQ2 { get; set; }
        public string QQ3 { get; set; }
        public string RankNum { get; set; }
        public string AndroidNewPakUrl { get; set; }
        public string iOSNewPakUrl { get; set; }
        public string WinPcNewPakUrl { get; set; }
        public string MacPcNewPakUrl { get; set; }
        public string[] NeedUpdatePakName { get; set; }
        public string Extend { get; set; }
        public BaseAppInfoJson[] JsonData { get; set; }

    }


    //public class BaseUpdateConfigerJson
    //{
    //    public string dirPath { get; set; }
    //    public string md5 { get; set; }
    //    public int version { get; set; }
    //    public int type { get; set; }
    //    public string size { get; set; }
    //}
    public class BaseValueConfigerJson
    {
        public string name { get; set; }
        public string webUrl { get; set; }
        public string dirPath { get; set; }
        public uint crc { get; set; }
        public string hash { get; set; }
        public string md5 { get; set; }
        public int version { get; set; }
        public int type { get; set; }
        public string size { get; set; }
    }
    public class BaseAppInfoJson
    {
        public string pakName { get; set; }
        public int version { get; set; }
        public bool share { get; set; }
        public bool online { get; set; }
        public bool buy { get; set; }
        public string[] gameOrder { get; set; }
        public string extend { get; set; }
    }

}